#include "MemMan.h"

MEMMAN_API void MmInitialize();
MEMMAN_API void MmDeInitialize();
MEMMAN_API void MmReInitialize();
MEMMAN_API bool MmIsInitialized();

MEMMAN_API unsigned GetThreadsCountTotal();
MEMMAN_API unsigned GetThreadIndexForId(short threadId);
MEMMAN_API short GetThreadIdForIndex(unsigned threadIdx);
MEMMAN_API unsigned GetThreadEventsCount(unsigned threadIdx);

MEMMAN_API char* GetEventTime(unsigned threadIdx, unsigned eventIdx);
MEMMAN_API char GetEventType(unsigned threadIdx, unsigned eventIdx);
MEMMAN_API char* GetEventService(unsigned threadIdx, unsigned eventIdx);
MEMMAN_API char* GetEventMessage(unsigned threadIdx, unsigned eventIdx);
MEMMAN_API void GetEventMessageEx(unsigned threadIdx, unsigned eventIdx, char* outBuffer);

MEMMAN_API void AddString(LPCSTR data);
MEMMAN_API unsigned AddBlock(LPSTR data);

MEMMAN_API unsigned ParseBack(LPCSTR data, unsigned size);

CMemMan* _manager;